package com.example.service;

import com.example.pojo.dto.EmployeeInsertDTO;
import com.example.pojo.dto.EmployeeLoginDTO;
import com.example.pojo.dto.EmployeePageDTO;
import com.example.pojo.dto.EmployeeUpdateDTO;
import com.example.pojo.entity.Employee;
import com.example.pojo.entity.result.PageResult;
import com.example.pojo.vo.EmployeeLoginVO;
import com.example.pojo.vo.EmployeePageVO;
import com.example.pojo.vo.EmployeeVO;

public interface EmployeeService {
    /**
     * 新增员工
     *
     * @param employeeInsertDTO
     */
    void insertEmp(EmployeeInsertDTO employeeInsertDTO);

    /**
     * 删除员工
     *
     * @param id
     */
    void deleteEmp(Long id);

    /**
     * 修改员工信息
     *
     * @param employeeUpdateDTO
     */
    void updateEmp(EmployeeUpdateDTO employeeUpdateDTO);

    /**
     * 查询员工信息
     *
     * @param id
     * @return
     */
    EmployeeVO getEmpById(Long id);

    /**
     * 分页查询员工信息
     *
     * @param employeePageDTO
     * @return
     */
    PageResult<EmployeePageVO> pageEmployee(EmployeePageDTO employeePageDTO);

    /**
     * 登录
     *
     * @return
     */
    Employee login(EmployeeLoginDTO employeeLoginDTO);
}
